'\" te
.\"  Copyright 1989 AT&T
.\" Copyright (c) 2008, Sun Microsystems, Inc.  All Rights Reserved
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH IPCS 1 "Jan 17, 2008"
.SH NAME
ipcs \- report inter-process communication facilities status
.SH SYNOPSIS
.LP
.nf
\fBipcs\fR [\fB-aAbciJmopqstZ\fR] [\fB-D\fR \fImtype\fR] [\fB-z\fR \fIzone\fR]
.fi

.SH DESCRIPTION
.sp
.LP
The \fBipcs\fR utility prints information about active inter-process
communication facilities. The information that is displayed is controlled by
the options supplied. Without options, information is printed in short format
for message queues, shared memory, and semaphores that are currently active in
the system.
.SH OPTIONS
.sp
.LP
The following options are supported:
.sp
.ne 2
.na
\fB\fB-m\fR\fR
.ad
.RS 6n
Prints information about active shared memory segments.
.RE

.sp
.ne 2
.na
\fB\fB-q\fR\fR
.ad
.RS 6n
Prints information about active message queues.
.RE

.sp
.ne 2
.na
\fB\fB-s\fR\fR
.ad
.RS 6n
Prints information about active semaphores.
.RE

.sp
.LP
If \fB-m\fR, \fB-q\fR, or \fB-s\fR are specified, information about only those
indicated is printed. If none of these three is specified, information about
all three is printed subject to these options:
.sp
.ne 2
.na
\fB\fB-a\fR\fR
.ad
.RS 12n
Uses all XCU5 print options. (This is a shorthand notation for \fB-b\fR,
\fB-c\fR, \fB-o\fR, \fB-p\fR, and \fB-t\fR.)
.RE

.sp
.ne 2
.na
\fB\fB-A\fR\fR
.ad
.RS 12n
Uses all print options. (This is a shorthand notation for \fB-b\fR, \fB-c\fR,
\fB-i\fR, \fB-J\fR, \fB-o\fR, \fB-p\fR, and \fB-t\fR.)
.RE

.sp
.ne 2
.na
\fB\fB-b\fR\fR
.ad
.RS 12n
Prints information on biggest allowable size: maximum number of bytes in
messages on queue for message queues, size of segments for shared memory, and
number of semaphores in each set for semaphores. See below for meaning of
columns in a listing.
.RE

.sp
.ne 2
.na
\fB\fB-c\fR\fR
.ad
.RS 12n
Prints creator's login name and group name. See below.
.RE

.sp
.ne 2
.na
\fB\fB-D\fR \fImtype\fR\fR
.ad
.RS 12n
Displays, in hexadecimal and \fBASCII\fR, the contents of all messages of type
\fImtype\fR found on any message queue that the user invoking \fBipcs\fR has
permission to read. If \fImtype\fR is \fB0\fR, all messages are displayed. If
\fImtype\fR is negative, all messages with type less than or equal to the
absolute value of \fImtype\fR are displayed. (See \fBmsgrcv\fR(2) and
\fBmsgsnap\fR(2)).
.RE

.sp
.ne 2
.na
\fB\fB-i\fR\fR
.ad
.RS 12n
Prints number of \fBISM\fR attaches to shared memory segments.
.RE

.sp
.ne 2
.na
\fB\fB-J\fR\fR
.ad
.RS 12n
Prints the creator's project.
.RE

.sp
.ne 2
.na
\fB\fB-o\fR\fR
.ad
.RS 12n
Prints information on outstanding usage: number of messages on queue and total
number of bytes in messages on queue for message queues and number of processes
attached to shared memory segments.
.RE

.sp
.ne 2
.na
\fB\fB-p\fR\fR
.ad
.RS 12n
Prints process number information: process \fBID\fR of last process to send a
message, process \fBID\fR of last process to receive a message on message
queues, process \fBID\fR of creating process, and process \fBID\fR of last
process to attach or detach on shared memory segments. See below.
.RE

.sp
.ne 2
.na
\fB\fB-t\fR\fR
.ad
.RS 12n
Prints time information: time of the last control operation that changed the
access permissions for all facilities, time of last \fBmsgsnd\fR(2) and last
\fBmsgrcv\fR(2) on message queues, time of last \fBshmat\fR(2) and last
\fBshmdt\fR(2) on shared memory (see \fBshmop\fR(2)), time of last
\fBsemop\fR(2) on semaphores. See below.
.RE

.sp
.ne 2
.na
\fB\fB-z\fR \fIzone\fR\fR
.ad
.RS 12n
Prints information about facilities associated with the specified zone (see
\fBzones\fR(7)). The zone can be specified as either a name or a numeric id.
The default is to display information about the zone in which the command is
executing. Notice that this option is only useful when executing in the global
zone.
.RE

.sp
.ne 2
.na
\fB\fB-Z\fR\fR
.ad
.RS 12n
When executing in the global zone, prints information about all zones.
Otherwise, prints information about the zone in which the command is executing.
The output includes the zone associated with each facility.
.RE

.sp
.LP
The column headings and the meaning of the columns in an \fBipcs\fR listing are
given below. The letters in parentheses indicate the options that cause the
corresponding heading to appear and "all" means that the heading always
appears. \fBNote:\fR These options only determine what information is provided
for each facility; they do not determine which facilities are listed.
.sp
.ne 2
.na
\fB\fBT\fR (all)\fR
.ad
.RS 19n
Type of the facility:
.sp
.ne 2
.na
\fB\fBq\fR\fR
.ad
.RS 5n
message queue
.RE

.sp
.ne 2
.na
\fB\fBm\fR\fR
.ad
.RS 5n
shared memory segment
.RE

.sp
.ne 2
.na
\fB\fBs\fR\fR
.ad
.RS 5n
semaphore
.RE

.RE

.sp
.ne 2
.na
\fB\fBID\fR (all)\fR
.ad
.RS 19n
The identifier for the facility entry.
.RE

.sp
.ne 2
.na
\fB\fBKEY\fR (all)\fR
.ad
.RS 19n
The key used as an argument to \fBmsgget\fR(2), \fBsemget\fR(2), or
\fBshmget\fR(2) to create the facility entry. (\fBNote:\fR The  key of a shared
memory segment is changed to \fBIPC_PRIVATE\fR when the segment has been
removed until all processes attached to the segment detach it.)
.RE

.sp
.ne 2
.na
\fB\fBMODE\fR (all)\fR
.ad
.RS 19n
The facility access modes and flags: The mode consists of 11 characters that
are interpreted as follows. The first two characters are:
.sp
.ne 2
.na
\fB\fBR\fR\fR
.ad
.RS 5n
A process is waiting on a \fBmsgrcv\fR(2).
.RE

.sp
.ne 2
.na
\fB\fBS\fR\fR
.ad
.RS 5n
A process is waiting on a \fBmsgsnd\fR(2).
.RE

.sp
.ne 2
.na
\fB\fB-\fR\fR
.ad
.RS 5n
The corresponding special flag is not set.
.RE

The next nine characters are interpreted as three sets of three bits each. The
first set refers to the owner's permissions; the next to permissions of others
in the user-group of the facility entry; and the last to all others. Within
each set, the first character indicates permission to read, the second
character indicates permission to write or alter the facility entry, and the
last character is currently unused.
.sp
The permissions are indicated as follows:
.sp
.ne 2
.na
\fB\fBr\fR\fR
.ad
.RS 8n
Read permission is granted.
.RE

.sp
.ne 2
.na
\fB\fBw\fR\fR
.ad
.RS 8n
Write permission is granted.
.RE

.sp
.ne 2
.na
\fB\fBa\fR\fR
.ad
.RS 8n
Alter permission is granted.
.RE

.sp
.ne 2
.na
\fB\fB\(mi\fR\fR
.ad
.RS 8n
The indicated permission is not granted.
.RE

.RE

.sp
.ne 2
.na
\fB\fBOWNER\fR (all)\fR
.ad
.RS 19n
The login name of the owner of the facility entry.
.RE

.sp
.ne 2
.na
\fB\fBGROUP\fR (all)\fR
.ad
.RS 19n
The group name of the group of the owner of the facility entry.
.RE

.sp
.ne 2
.na
\fB\fBCREATOR\fR (a,A,c)\fR
.ad
.RS 19n
The login name of the creator of the facility entry.
.RE

.sp
.ne 2
.na
\fB\fBCGROUP\fR (a,A,c)\fR
.ad
.RS 19n
The group name of the group of the creator of the facility entry.
.RE

.sp
.ne 2
.na
\fB\fBCBYTES\fR (a,A,o)\fR
.ad
.RS 19n
The number of bytes in messages currently outstanding on the associated message
queue.
.RE

.sp
.ne 2
.na
\fB\fBQNUM\fR (a,A,o)\fR
.ad
.RS 19n
The number of messages currently outstanding on the associated message queue.
.RE

.sp
.ne 2
.na
\fB\fBQBYTES\fR (a,A,b)\fR
.ad
.RS 19n
The maximum number of bytes allowed in messages outstanding on the associated
message queue.
.RE

.sp
.ne 2
.na
\fB\fBLSPID\fR (a,A,p)\fR
.ad
.RS 19n
The process \fBID\fR of the last process to send a message to the associated
queue.
.RE

.sp
.ne 2
.na
\fB\fBLRPID\fR (a,A,p)\fR
.ad
.RS 19n
The process \fBID\fR of the last process to receive a message from the
associated queue.
.RE

.sp
.ne 2
.na
\fB\fBSTIME\fR (a,A,t)\fR
.ad
.RS 19n
The time the last message was sent to the associated queue.
.RE

.sp
.ne 2
.na
\fB\fBRTIME\fR (a,A,t)\fR
.ad
.RS 19n
The time the last message was received from the associated queue.
.RE

.sp
.ne 2
.na
\fB\fBCTIME\fR (a,A,t)\fR
.ad
.RS 19n
The time when the associated entry was created or changed.
.RE

.sp
.ne 2
.na
\fB\fBISMATTCH\fR (a,i)\fR
.ad
.RS 19n
The number of \fBISM\fR attaches to the associated shared memory segments.
.RE

.sp
.ne 2
.na
\fB\fBNATTCH\fR (a,A,o)\fR
.ad
.RS 19n
The number of processes attached to the associated shared memory segment.
.RE

.sp
.ne 2
.na
\fB\fBSEGSZ\fR (a,A,b)\fR
.ad
.RS 19n
The size of the associated shared memory segment.
.RE

.sp
.ne 2
.na
\fB\fBCPID\fR (a,A,p)\fR
.ad
.RS 19n
The process \fBID\fR of the creator of the shared memory entry.
.RE

.sp
.ne 2
.na
\fB\fBLPID\fR (a,A,p)\fR
.ad
.RS 19n
The process \fBID\fR of the last process to attach or detach the shared memory
segment.
.RE

.sp
.ne 2
.na
\fB\fBATIME\fR (a,A,t)\fR
.ad
.RS 19n
The time the last attach was completed to the associated shared memory segment.
.RE

.sp
.ne 2
.na
\fB\fBDTIME\fR (a,A,t)\fR
.ad
.RS 19n
The time the last detach was completed on the associated shared memory segment.
.RE

.sp
.ne 2
.na
\fB\fBNSEMS\fR (a,A,b)\fR
.ad
.RS 19n
The number of semaphores in the set associated with the semaphore entry.
.RE

.sp
.ne 2
.na
\fB\fBOTIME\fR (a,A,t)\fR
.ad
.RS 19n
The time the last semaphore operation was completed on the set associated with
the semaphore entry.
.RE

.sp
.ne 2
.na
\fB\fBPROJECT\fR (J,A)\fR
.ad
.RS 19n
The project name of the creator of the facility entry.
.RE

.sp
.ne 2
.na
\fB\fBZONE\fR (Z)\fR
.ad
.RS 19n
The zone with which the facility is associated.
.RE

.SH ENVIRONMENT VARIABLES
.sp
.LP
See \fBenviron\fR(7) for descriptions of the following environment variables
that affect the execution of  \fBipcs\fR: \fBLANG\fR, \fBLC_ALL\fR,
\fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
.sp
.ne 2
.na
\fB\fBTZ\fR\fR
.ad
.RS 6n
Determine the timezone for the time strings written by \fBipcs\fR.
.RE

.SH FILES
.sp
.ne 2
.na
\fB\fB/etc/group\fR\fR
.ad
.RS 15n
group names
.RE

.sp
.ne 2
.na
\fB\fB/etc/passwd\fR\fR
.ad
.RS 15n
user names
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Committed
_
Standard	See \fBstandards\fR(7).
.TE

.SH SEE ALSO
.sp
.LP
.BR ipcrm (1),
.BR msgget (2),
.BR msgids (2),
.BR msgrcv (2),
.BR msgsnap (2),
.BR msgsnd (2),
.BR semget (2),
.BR semids (2),
.BR semop (2),
.BR shmctl (2),
.BR shmget (2),
.BR shmids (2),
.BR shmop (2),
.BR attributes (7),
.BR environ (7),
.BR standards (7),
.BR zones (7)
.SH NOTES
.sp
.LP
Things can change while \fBipcs\fR is running. The information it gives is
guaranteed to be accurate only when it was retrieved.
